TWB.New_Module({
	///////////////////////////
	name : "Notepad",          //
	author : "enduo",        //
	version : 1.0,           //
	///////////////////////////

	settings : {
		note_rows : {
			type : "text",
			maxlength : 1
		}
	},
	BB : function(tr){
		var i;
		var ar=new Array();
		var Z=tr.match(/\[village\]\d+\|\d+\[\/village\]/g);
		if(Z){
			for(i=0; i<Z.length; i++){
				ar.push(Z[i].match(/\d+\|\d+/)[0]);
			}
		}
		return ar;
	},
	Redirect : function(){
		if(!TWB.logged()){
			return alert(TWB.lang("notlogged"));
		}
		if(TWB.Modules.Icons.Screen()=="place"){
			[TWB.Xpath("//input[@name='x']",9).value,TWB.Xpath("//input[@name='y']",9).value]=TWB.Modules.Notepad.coords.split("|");
			TWB.Processor.stop("notepad");
		}
		else{
			TWB.Processor.start("notepad","Modules.Notepad.Redirect","*",false);
			TWB.Modules.Icons.GoTo("place","command");
		}
	},
	ClickVil : function(obj){
		TWB.Modules.Notepad.coords=obj.getAttribute("id");
		TWB.Modules.Notepad.Redirect();
	},
	Toggle : function(){
		if(!TWB.logged()){
			setTimeout(function(){
				TWB.gei("TWB-Notepad").checked=false;
			},100);
			return alert(TWB.lang("notlogged"));
		}
		if(TWB.gei("TWB-Notepad-Bar").getAttribute("hidden")=="true"){
			TWB.Modules.Notepad.Load();
			TWB.gei("TWB-Notepad-Bar").setAttribute("hidden","false");
			var EL=TWB.gei("TWB-Notepad-El");
			EL.minWidth=EL.parentNode.clientWidth-10;
			return;
		}
		TWB.Modules.Notepad.Save();
		return TWB.gei("TWB-Notepad-Bar").setAttribute("hidden","true");
	},
	ClearAll : function(){
		var V=TWB.gei("TWB-Notepad-Context");
		var i;
		for(i=V.childNodes.length-1; i>=0; i--){
			if(V.childNodes[i].nodeName=="menuseparator"){
				break;
			}
			V.removeChild(V.childNodes[i]);
		}
	},
	NewLink : function(item){
		var V=TWB.gei("TWB-Notepad-Context");
		var E=TWB.dce("menuitem");
		var prop;
		for(prop in item){
			E.setAttribute(prop,item[prop]);
		}
		E.setAttribute("oncommand","TWB.Modules.Notepad.ClickVil(this);");
		V.appendChild(E);
	},
	AjaxCoords : function(v1,v2){
		if(typeof v2=="undefined"){
			// First call
			if(v1.length>0){
				TWB.Modules.Notepad.AjaxCoords(v1,0);
			}
		}
		else{
			var coords=v1[v2].split("|");
			$.ajax({
				async : true,
				type : "POST",
				data : "x="+coords[0]+"&y="+coords[1],
				url : "http://www.twstats.com/"+TWB.language+TWB.World()+"/ajax.php?mode=mapvillage",
				success : function(data){
					if(data.match(/<th colspan=\"2\">/)){
						TWB.Modules.Notepad.NewLink({
							id : v1[v2],
							label : data.split('<th colspan="2">')[1].split("<a")[0]
						});
					}
					v2++;
					if(v2<v1.length){
						TWB.Modules.Notepad.AjaxCoords(v1,v2);
					}
				}
			});
		}
	},
	Load : function(){
		// Load BB
		TWB.Modules.Notepad.ClearAll();
		var data=TWB.get_var("notepad_"+TWB.language+"_"+TWB.World(),"");
		TWB.Modules.Notepad.AjaxCoords(TWB.Modules.Notepad.BB(data));
		TWB.gei("TWB-Notepad-El").setAttribute("value",data);
	},
	Save : function(){
		TWB.set_var("notepad_"+TWB.language+"_"+TWB.World(),TWB.gei("TWB-Notepad-El").value);
	},
	priority : 501,
	init : function(){
		TWB.gei("TWB-Notepad-El").setAttribute("rows",TWB.get_var("note_rows"));
	}
});
